package com.lesama.exception;

/*
 * 异常的处理：
 * try {
 *   可能出现出现异常的代码
 * } catch (Exception e) {
 *   对捕获到的异常做些什么
 * }
 *
 * throw new Exception
 *
 * 若不想暴露异常，则使用try catch
 * 若想暴露异常，让上层处理，则使用throw向上抛出
 * throw用于抛出异常， throws用于声明抛出的异常
 * 编译时异常需要throws声明， 运行时异常则不需要
 * */

public class ExceptionDemo2 {
    public static void main(String[] args) {
        System.out.println("start");
        try {
            int[] arr = null;
            System.out.println(arr[0]);
            System.out.println(10 / 0);
        } catch (NullPointerException e) {
            System.out.println("捕获了空指针异常");
        } catch (ArithmeticException e) {
            System.out.println("捕获了运算异常");
        } catch (Exception e) {
            System.out.println("捕获了异常");
        }
        System.out.println("end");
    }
}
